The invention relates to a method for storing diagnostic data relating to a vehicle. In particular, the invention relates to a method for storing messages, in particular bus messages, for analyzing diagnostic data relating to a vehicle.
With the increasing networking of components in a vehicle, for example in a motor vehicle, the quantity of data transmitted on communication systems, for example bus systems, of a vehicle is greatly increasing. With the increase in data transmitted on communication systems of a vehicle, the quantity of data which can be analyzed during vehicle diagnosis is also increasing. In the field of vehicle diagnosis, messages which are transmitted on bus systems, for example, may be aggregated using a mapping rule to form aggregated messages or data objects. It is known practice, for example, to aggregate messages according to the CAN bus transport protocol standard in accordance with the ISO standard 15765 to form messages according to the Unified Diagnostic Services (UDS for short) standard in accordance with the ISO standard 14229. The messages can generally be aggregated in a multilayer manner. Faults may occur on any level or layer and can be analyzed as part of vehicle diagnosis. The diagnostic data to be analyzed during vehicle diagnosis may comprise in this case all messages on all aggregation levels of communication systems of a vehicle. Analysis of an individual fault can therefore often require a large amount of time since the relevant diagnostic data usually have to be determined in a largely manual manner from the total quantity of available diagnostic data.
Therefore, an object of the invention is to provide more efficient storage of the diagnostic data relating to vehicles. In particular, an object of the invention is to improve the storage of the diagnostic data so as to enable more flexible, simpler and/or faster analysis of fault events using the stored diagnostic data.
This and objects are achieved by a method and system in accordance with embodiments of the invention.
According to one aspect, a method according to the invention is used to store diagnostic data relating to a vehicle, in particular a motor vehicle. Diagnostic data may include all messages between network components, for example control devices, and/or software components of a vehicle. For example, the diagnostic data may be messages from bus systems and/or aggregated messages. Messages may have a different format and/or a different data type. Storing diagnostic data may involve providing the diagnostic data for the purpose of analyzing the diagnostic data. The method includes reading one or more messages, the read messages comprising diagnostic data relating to the vehicle. The method also includes transmitting the read messages to a buffer memory and to an aggregation component, aggregating the read messages by way of the aggregation component to form an aggregated message, and transmitting the aggregated message to the buffer memory. A buffer memory may be a ring memory. An aggregation component may be a software component which can aggregate one or more messages according to predefined mapping and/or processing rules. For example, an aggregation component may be implemented in the form of an automaton, in particular in the form of a finite, deterministic automaton. The method also checks whether a predefined fault event occurred during aggregation of the messages by the aggregation component. If a predefined fault event occurred, the method can transmit the predefined fault event to an extraction component, the predefined fault event comprising at least one predefined rule. A predefined fault event may be a fault memory entry of a control device, for example. In order to extract the messages, the extraction component can execute the at least one predefined rule and can extract the messages defined in the predefined rule from the buffer memory. The extracted messages and the fault event can be stored in a data memory, with the result that the extracted messages can be identified using the fault event.
The messages which may be relevant to the analysis of a fault event may be advantageously extracted from the total quantity of diagnostic data and can be stored in a data memory together with the fault event. This makes it possible to efficiently reduce the quantity of data which needs to be stored for the purpose of analyzing a fault event. Diagnostic data which are not relevant on different aggregation levels can therefore be efficiently filtered.
According to one advantageous configuration, the extracted messages may include read messages and aggregated messages. Extracting read messages and aggregated messages makes it possible to efficiently store the extracted messages over a plurality of aggregation levels. The stored messages therefore make it possible to quickly analyze a fault event over one or more aggregation levels.
According to another advantageous configuration, the buffer memory may be a ring memory. Using a ring memory makes it possible to efficiently buffer the read messages and/or aggregated messages. For example, it is possible to stipulate that the storage capacity of the ring memory is different for read messages and/or aggregated messages. For example, it is possible to stipulate a fixed storage capacity for the ring memory. For example, it is possible to stipulate a storage capacity of the ring memory on the basis of an available main memory of a computer in order to be able to completely store the ring memory in the main memory and therefore make it possible to write and/or extract the messages more quickly. For example, a storage capacity of the ring memory may be dynamically adapted to the diagnostic data, for example the quantity and/or type of diagnostic data. Choosing the storage capacity of the ring memory makes it possible to efficiently buffer the diagnostic data. Furthermore, the diagnostic data can be buffered so as to make it possible to efficiently extract the diagnostic data or messages from the buffer memory.
According to another advantageous configuration, the method may also include transmitting the extracted messages to a de-duplication component, the de-duplication component removing extracted messages which have been repeatedly extracted from the ring memory before storing the extracted messages in the data memory. Removing identical messages which are repeatedly extracted when executing one or more rules of fault events makes it possible to ensure that each extracted message is stored only once in the data memory. The redundancy when storing the extracted messages can therefore be reduced. The storage space of the data memory can be used more efficiently.
According to another advantageous configuration, the extraction component can allocate a unique designator to each extracted message, and/or can store the extracted messages and the unique designators of the extracted messages in the data memory. Allocating a unique designator, for example a unique identifier, makes it possible to efficiently process and/or store an extracted message. Furthermore, the unique designator may enable a simple link between the fault event and the associated messages.
According to another advantageous configuration, the de-duplication component can remove repeatedly extracted identical messages by means of the unique designator of an extracted message. This makes it possible to efficiently reduce the storage space needed to store the extracted messages in the data memory.
According to another advantageous configuration, the extraction component can allocate the unique designators of the extracted messages to each fault event. All extracted messages can be identified as belonging to a fault event in the data memory using the unique designator. Storage can therefore be carried out independently of contents of an extracted message. Each read and/or aggregated message of a fault event can be efficiently stored in the data memory and/or read from the data memory for further processing.
According to another advantageous configuration, the extraction component can transmit the fault events, with the allocated unique designators of the extracted messages, to the data memory for storage. This makes it possible to efficiently link the extracted messages to a fault event.
According to another aspect, the invention includes a system for storing diagnostic data relating to a vehicle, the system being designed to carry out the method described above.
According to another aspect, the invention includes a computer-readable medium for storing diagnostic data relating to a vehicle, the computer-readable medium comprising instructions which, when executed on a processor, carry out the method described above.
Other objects, advantages and novel features of the present invention will become apparent from the following detailed description of one or more preferred embodiments when considered in conjunction with the accompanying drawings.